/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package UserServices;

import Controllers.UtenteController;
import ModeloDominio.Enumerados.TipoUtente;
import ModeloDominio.*;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.UserTransaction;


/**
 *
 * @author FIGUEIRAL
 */
public class Utentes {

    @PersistenceContext
    private EntityManager em;

    /**
     * <p>The transaction resource.</p>
     */
    @Resource
    private UserTransaction utx;
    
    private String nome;
    private String dia;
    private String mes;
    private String ano;
    private char sexo;
    private String nacionalidade;
    private String naturalidade;
    private String nif;
    private String telefone;
    private String fax;
    private String mail;
    private int nCheques;
    private String tipo;
    private String localidade;
    private String codigopostal1;
    private String codigopostal2;
    private String distrito;

    public String getFax() {
        return fax;
    }

    public void setFax(String fax) {
        this.fax = fax;
    }

    public String getMail() {
        return mail;
    }

    public void setMail(String mail) {
        this.mail = mail;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    public String getCodigopostal1() {
        return codigopostal1;
    }

    public void setCodigopostal1(String codigopostal1) {
        this.codigopostal1 = codigopostal1;
    }

    public String getCodigopostal2() {
        return codigopostal2;
    }

    public void setCodigopostal2(String codigopostal2) {
        this.codigopostal2 = codigopostal2;
    }

    public String getDistrito() {
        return distrito;
    }

    public void setDistrito(String distrito) {
        this.distrito = distrito;
    }

    public String getLocalidade() {
        return localidade;
    }

    public void setLocalidade(String localidade) {
        this.localidade = localidade;
    }
    public String getAno() {
        return ano;
    }

    public void setAno(String ano) {
        this.ano = ano;
    }

    public String getDia() {
        return dia;
    }

    public void setDia(String dia) {
        this.dia = dia;
    }

    public String getMes() {
        return mes;
    }

    public void setMes(String mes) {
        this.mes = mes;
    }





    public int getnCheques() {
        return nCheques;
    }

    public void setnCheques(int nCheques) {
        this.nCheques = nCheques;
    }

    public String getNacionalidade() {
        return nacionalidade;
    }

    public void setNacionalidade(String nacionalidade) {
        this.nacionalidade = nacionalidade;
    }

    public String getNaturalidade() {
        return naturalidade;
    }

    public void setNaturalidade(String naturalidade) {
        this.naturalidade = naturalidade;
    }

    public String getNif() {
        return nif;
    }

    public void setNif(String nif) {
        this.nif = nif;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public char getSexo() {
        return sexo;
    }

    public void setSexo(char sexo) {
        this.sexo = sexo;
    }



    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

   public void Create()
   {
       Date data=new Date();
       Utente utente=new Utente();
       data.setYear(Integer.parseInt(ano));
       data.setDate(Integer.parseInt(dia));
       data.setMonth(Integer.parseInt(mes));
       int[] Tel=new int[1];
       Tel[0]=Integer.parseInt(telefone);
       int[] Fax=new int[1];
       Fax[0]=Integer.parseInt(fax);
       String[] m=new String[1];
       m[0]=mail;
       utente.setnCheques(0);
       utente.setNome(nome);
       utente.setSexo(sexo);
       utente.setDataNascimento(data);
       utente.setNacionalidade(nacionalidade);
       utente.setNaturalidade(naturalidade);
       utente.setNif(nif);
       utente.setTelefone(telefone);
       utente.setFax(fax);
       utente.setMail(mail);
              Morada morada=new Morada();
      morada.setCodigopostal(codigopostal1+"-"+codigopostal2);
      morada.setDistrito(distrito);
      morada.setLocalidade(localidade);
       utente.setTipo(tipo);
        try {
            utx.begin();
                em.persist(morada);
                utente.setIdmorada(morada.getId());
                em.persist(utente);
                utx.commit();
        } catch (Exception ex) {
            Logger.getLogger(Utentes.class.getName()).log(Level.SEVERE, null, ex);
        }
 

   }
}
